iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0
AI/ ML & Data

Web仔從數學角度學習 AI/ ML & Data系列 第 24

Day 24 - Web仔從數學角度學習 深度信念網路DBN

  • 分享至 

  • xImage
  •  

註:本文同步更新在Notion!(數學公式會比較好閱讀)

深度信念網路(Deep Belief Networks, DBN) 是一種結合無監督學習與監督學習的深度神經網路結構,最早由 Geoffrey Hinton 提出。它是建立在侷限型波茲曼機(Restricted Boltzmann Machines, RBM)的基礎上,通過逐層預訓練學習數據的隱含特徵,然後再進行細調。DBN 主要用於解決高維數據集上的分類、降維、特徵提取以及生成模型等問題。

1. 深度信念網路的結構

DBN 是一種分層生成模型,它的結構由多個 RBM 層堆疊而成。每一層的隱藏單元學習來自前一層輸出的特徵,並且這些隱藏單元通過概率模型對數據進行建模。DBN 可以看作是一個無向生成模型有向生成模型的混合體

  • 頂層是一個無向圖模型(RBM),用於學習數據的概率分佈。
  • 其他層則是有向圖模型,這些層之間的關係是有向且對應到某種特定數據的生成過程。

https://ithelp.ithome.com.tw/upload/images/20241006/20168898IRnxjS76Sd.png

2. 訓練過程:逐層預訓練與細調

DBN 的訓練分為兩個主要階段:逐層無監督預訓練有監督微調

逐層無監督預訓練

在預訓練階段,DBN 通常採用逐層訓練的方式。具體來說,首先訓練底層的 RBM,然後將該層的隱藏單元輸出作為下一層的輸入進行訓練。每一層的訓練過程主要是基於對比散度(Contrastive Divergence)進行。

  1. 初始化:從輸入數據開始,訓練第一層 RBM。
  2. 傳遞與重構:將第一層的隱藏單元輸出作為下一層的輸入,訓練第二層 RBM,依此類推。
  3. 逐層重複:逐層訓練直到達到最後一層。

有監督微調

在完成預訓練後,DBN 會進行微調。微調是基於監督學習的方法,如反向傳播算法(Backpropagation),以優化模型的最終性能。這個過程主要用於根據具體的目標函數(如分類或回歸任務)調整模型參數。

3. 數學推導:對比散度與能量最小化

DBN 的預訓練過程核心在於對比散度(Contrastive Divergence, CD),這是一種基於馬可夫鏈蒙地卡羅(Markov Chain Monte Carlo, MCMC)的近似算法,用來估計無監督學習中的數據分佈。
https://ithelp.ithome.com.tw/upload/images/20241006/20168898tYC95Yj8uw.png

4. DBN 與其他模型的比較

與前饋神經網路(Feedforward Neural Networks, FNN)不同,DBN 是一種生成模型,它能夠生成與輸入數據相似的新數據。此外,與卷積神經網路(Convolutional Neural Networks, CNN)相比,DBN 更擅長處理無監督學習任務。

DBN 的一個顯著優勢在於它能夠通過逐層預訓練有效避免梯度消失問題,這使得它在早期的深度學習應用中非常流行。然而,隨著更為強大的深度模型(如卷積神經網路和長短期記憶網路)的發展,DBN 在某些領域的應用逐漸減少,但其基於概率生成的特性仍然在無監督學習和生成任務中具有一定的競爭力。

結論

深度信念網路是深度學習領域中的重要模型,特別是在無監督學習和生成任務中表現突出。DBN 的結構通過逐層預訓練和細調,使得它能夠有效學習數據中的隱含特徵並生成與原始數據相似的樣本。儘管隨著其他更為高效的模型的出現,DBN 在某些領域的應用有所減少,但其在特徵學習、數據生成和降維上的應用依然具有價值。


上一篇
Day 23 - Web仔從數學角度學習 侷限型波茲曼模型RBM
下一篇
Day 25 - Web仔從數學角度學習 自編碼器
系列文
Web仔從數學角度學習 AI/ ML & Data30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言